محمد - سلام خسته نباشید
من دارم یه برنامه مینویسم شبیه همین البته خیلی ساده تر یه توپ هست و 4 طرف دیوار توپ باید حرکت کنه ولی بیرون نره و به هر دیوار که خورد تغییر جهت بده شروع این حرکت توپ وسط هست و به سمت پایین - راست حرکت میکنه اما وقتی به دیوار میخوره تغییر مسیر به سمت راست میده که باید تغییر مسیرش به سمت راست بالا باشه هر طوری تونسطم تغییرش دادم ولی کار نداد
اینم کد همون قسمت هست:
if(ball.Top <=230)
{
ball.Left += x;
ball.Top += y;
}
else
{
ball.Left += x;
ball.Top -= y;
}
ارتفاع فرم هم 230 هست
اگه ممکنه به تلگرامم پیام بدید یا ایمیلم چون به سیستم دسترسی ندارم
@C_king75 (https://telegram.me/C_king75)
ممنون از سایت خوبتون - 1395/9/28
ش - ههه - 1395/3/21
سلام - سلام
ممنون از برنامه تون اگه میشه کمی درباره ی دستورات بیشتر توضیح دهید پاسخ:
سلام
خواهش می کنم
همانطور که میدانید داده ی float ، double برای ذخیره سازی اعداد اعشاری در سی پلاس پلاس به کار می روند.
داده های اعشاری که در حافظه ذخیره می شوند ، در واقع با خطا ذخیره می شوند.
که می توانید نحوه ی ذخیره شدن داده های اعشاری را در حافظه که با خطا انجام میشود در اینترنت جستجو کنید.
این برنامه بدون استفاده از داده های اعشاری ، دو عدد اعشاری را از ورودی گرفته و با هم جمع می کند و در خروجی چاپ می کند.
به این صورت که ابتدا دو عدد اعشاری در دو آرایه از نوع Char ذخیره می شوند ، یعنی داده ها به صورت رشته در حافظه قرار می گیرند نه به صورت عدد.
در مرحله ی بعد آرایه پیمایش می شود تا بتوانیم بخش صحیح و بخش اعشاری اعداد را جدا کنیم و اگر از سمت چپ به راست پیمایش کنیم ،اعدادی که قبل از "." یا همان ممیز اعشار قرار دارند ، بخش صحیح و اعداد پس از آن بخش اعشاری ما هستند.
در مرحله ی بعد بخش اعشاری و صحیح را که فهمیدیم در کجا قرار دارند را در متغیر های رشته ای یا آرایه ی کارکتری قرار می دهیم.
در مرحله ی بعد باید تعداد رقم های بخش اعشاری هر دو عدد را با هم برابر کنیم یعنی اگر بخش اعشاری عدد اول 000001 است و بخش اعشاری عدد دوم 01 است باید بخش اعشاری عدد دوم 010000 شود تا بتوان بایت به بایت آن را جمع زد.
بعد به سراغ مرحله ی جمه می رویم
توجه داشته باشید که ابتدا بخش اعشاری باید جمع شود تا اگر رقم نقلی وجود داشت در مرحله ی جمع بخش صحیح آن را به بخش صحیح اضافه کنیم.
برای جمع دو روش وجود دارد:
روش اول :
جمع کردن بایت بایت کارکتر ها و انتقال رقم نقلی بعد از هر جمع
روش دوم :
ریختن هر عدد در متغیر عددی غیر از float و double و جمع زدن آنها
و بعد از جمع ابتدا نتیجه ی جمع بخش صحیح را چاپ کرد و سپس '.' را چاپ میکنیم و سپس حاصل جمع بخش صحیح را چاپ میکنیم.
در پناه خداوند موفق باشید
خدانگهدار
binary Life - 1393/12/6/
بخش نظرات برای پاسخ به سوالات و یا اظهار نظرات و حمایت های شما در مورد مطلب جاری است.
پس به همین دلیل ازتون ممنون میشیم که سوالات غیرمرتبط با این مطلب را در انجمن های سایت مطرح کنید . در بخش نظرات فقط سوالات مرتبط با مطلب پاسخ داده خواهد شد .
شما نیز نظری برای این مطلب ارسال نمایید:
آمار
آمار مطالب
کل مطالب : 15
کل نظرات : 203آمار کاربران
افراد آنلاین : 18
تعداد اعضا : 424 آمار بازدید
بازدید امروز : 129
بازدید دیروز : 24
ورودی امروز گوگل : 13
ورودی گوگل دیروز : 0
بازدید هفته : 17142
بازدید ماه : 40170 اطلاعات شما
آی پی : 3.140.247.39
مرورگر :
سیستم عامل :
امروز :
درباره ما
Welcome To Binary Life
به وب سایت تخصصی کامپیوتر زندگی دودویی خوش آمدید
پس به همین دلیل ازتون ممنون میشیم که سوالات غیرمرتبط با این مطلب را در انجمن های سایت مطرح کنید . در بخش نظرات فقط سوالات مرتبط با مطلب پاسخ داده خواهد شد .